﻿

Public Class Internaciones
    Inherits System.Web.UI.Page
    Shared Paciente As New Persona
    Shared Doctor As New Persona



    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            FG.culturaPaginas()

            'Cargo páginas anterior y actual!!!
            Var_Globales.Setea_paginas("Internaciones.aspx")
        End If
    End Sub

    'Aca hay que habilitar el botón "Registrar internación" SOLO cuando el conforme médico funcione,
    'o sea, cuando el médico ponga la huella y salga todo OK!!!


    Private Sub limpiaDatos()
        txtDNI.Text = ""
        txtMOtivo.Text = ""
        lblFechaYhora.Text = ""
        lblDNIpaciente.Text = ""
        lblNombrePaciente.Text = ""
        lblApellidoPaciente.Text = ""

        lblConforme.Text = "NO"

        LblEspecialidad.Visible = False
        cboEspecialidad.Visible = False

        FG.SacaCartelDeAViso(lblMEsjeAlguardar)

        P_avisoPedidoDecaptura.Visible = False


    End Sub

    Private Sub HAceBusquedaPaciente(ByVal dni As String)

        limpiaDatos()

        'seteo el cartel de la buscaqueda
        FG.SacaCartelDeAViso(lblMesjeErrorBuscar)
        '     ---------

        Paciente.SetaDatosXDn(dni)

        If Paciente.Dev_ExistePersona = False Then
            FG.MuestraCartel("El dni no existe", lblMesjeErrorBuscar)
            Exit Sub
        End If

        If Paciente.Dev_EstaInternado = True Then
            FG.MuestraCartel("La persona ya fue internada anteriormente", lblMesjeErrorBuscar)
            Exit Sub
        End If

        If Paciente.Dev_EstaMurido = True Then
            FG.MuestraCartel("La persona figuara fallecida, no se puede registrar el ingreso", lblMesjeErrorBuscar)
            Exit Sub
        End If

        lblFechaYhora.Text = Now.ToString
        lblDNIpaciente.Text = Paciente.Dev_Dni
        lblNombrePaciente.Text = Paciente.Dev_Nombre
        lblApellidoPaciente.Text = Paciente.Dev_apellido



        If Paciente.Dev_PedidoCaptura = True Then
            P_avisoPedidoDecaptura.Visible = True
        End If


    End Sub


    Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnBuscar.Click


        'seteo el cartel de la buscaqueda
        FG.SacaCartelDeAViso(lblMesjeErrorBuscar)
        '     ---------

        ' valido
        If txtDNI.Text = "" Or UCase(txtDNI.Text) = UCase("Búsqueda DNI") Then
            FG.MuestraCartel("Debe ingresar un dni", lblMesjeErrorBuscar)
            Exit Sub
        End If





        HAceBusquedaPaciente(txtDNI.Text)












    End Sub

    Protected Sub btnConforme_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConforme.Click

        FG.SacaCartelDeAViso(lblMEsjeAlguardar)
        btnok_PARAPaciente.Visible = False
        btnOk_paraMedico.Visible = True

        mdl_popup_lector.Show()

    End Sub
    Private Function RealizaCargaInsternacion() As Boolean
        Dim param(5) As ADODB.Parameter


        '----------hacemos la carga----------------------------

        param(0) = New ADODB.Parameter
        param(0).Name = "@dniPaciente"
        param(0).Type = ADODB.DataTypeEnum.adVarChar
        param(0).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(0).Size = 10
        param(0).Value = Paciente.Dev_Dni

        param(1) = New ADODB.Parameter
        param(1).Name = "@dni-Doctor"
        param(1).Type = ADODB.DataTypeEnum.adVarChar
        param(1).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(1).Size = 10
        param(1).Value = Doctor.Dev_Dni

        param(2) = New ADODB.Parameter
        param(2).Name = "@Especialidad"
        param(2).Type = ADODB.DataTypeEnum.adVarChar
        param(2).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(2).Size = 50
        param(2).Value = cboEspecialidad.Text

        param(3) = New ADODB.Parameter
        param(3).Name = "@ID_institucion"
        param(3).Type = ADODB.DataTypeEnum.adInteger
        param(3).Direction = ADODB.ParameterDirectionEnum.adParamInput
        ' param(3).Size = 10
        param(3).Value = Doctor.Dev_ID_Institucion      'es el id del lugar de trabajo

        param(4) = New ADODB.Parameter
        param(4).Name = "@ID_TIpoVisita"
        param(4).Type = ADODB.DataTypeEnum.adInteger
        param(4).Direction = ADODB.ParameterDirectionEnum.adParamInput
        ' param(4).Size = 10
        param(4).Value = Var_Globales.TipoVisita.Internacion



        param(5) = New ADODB.Parameter
        param(5).Name = "@Motivo"
        param(5).Type = ADODB.DataTypeEnum.adVarChar
        param(5).Direction = ADODB.ParameterDirectionEnum.adParamInput
        param(5).Size = 100
        param(5).Value = txtMOtivo.Text


        RealizaCargaInsternacion = Datos.Agregar("Carga_internacion", param, " Private Function RealizaCargaInsternacion -internacion")



    End Function

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
        FG.SacaCartelDeAViso(lblMEsjeAlguardar)

        'seteo el cartel de guardar
        FG.SacaCartelDeAViso(lblMesjeErrorBuscar)

        If lblDNIpaciente.Text = "" Then
            FG.MuestraCartel("Para realizar la operacion debe buscar un paciente", lblMEsjeAlguardar)
            Exit Sub
        End If

        If InStr(UCase(lblConforme.Text), "OK", CompareMethod.Text) = 0 Then
            FG.MuestraCartel("No hay conforme de medico para internar", lblMEsjeAlguardar)
            Exit Sub
        End If

        If txtMOtivo.Text = "" Then
            FG.MuestraCartel("Falta el motivo de ingreso", lblMEsjeAlguardar)
            Exit Sub
        End If

        If cboEspecialidad.Visible = True Then
            If cboEspecialidad.Items.Count > 0 Then
                If cboEspecialidad.Text = "-" Then
                    FG.MuestraCartel("Falta detallar la especialidad del medico", lblMEsjeAlguardar)
                    Exit Sub
                End If
            End If
        End If

        ' hago la carga 
        If RealizaCargaInsternacion() = True Then

            limpiaDatos()
            FG.MuestraCartel("Se cargó correctamente la internación", lblMEsjeAlguardar)
            'refrezco los datos del pacie
            Paciente.SetaDatosXDn(Paciente.Dev_Dni)


        Else
            FG.MuestraCartel("SE PRODUJO UN ERROR AL GUARDAR", lblMEsjeAlguardar)
        End If


    End Sub


    Protected Sub btnObtenerDniPaciente_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnObtenerDniPaciente.Click
        btnok_PARAPaciente.Visible = True
        btnOk_paraMedico.Visible = False

        mdl_popup_lector.Show()
    End Sub

    Protected Sub btnok_PARAPaciente_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnok_PARAPaciente.Click

        's


        txtDNI.Text = Lector.IdentificaPersonas_DevuelveDNI()
        If txtDNI.Text <> "" Then
            HAceBusquedaPaciente(txtDNI.Text)
        End If


        mdl_popup_lector.Hide()

    End Sub

    Protected Sub btnOk_paraMedico_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnOk_paraMedico.Click
        Dim aux_dni As String

        LblEspecialidad.Visible = False
        cboEspecialidad.Visible = False
        lblConforme.Text = "NO"


        '---------seto el cartel
        FG.SacaCartelDeAViso(lblMesjeErrorBuscar)
        '----------------

        aux_dni = Lector.IdentificaPersonas_DevuelveDNI()

        'harcodeo
        'aux_dni = TextBox1.Text



        'valida datos , si no leeo la huella aviso
        If aux_dni = "" Then
            FG.MuestraCartel("La huella del doctor no fue indentificada", lblMesjeErrorBuscar)
            Exit Sub

        End If

        Doctor.SetaDatosXDn(aux_dni)

        If Doctor.Dev_ExistePersona = False Then
            FG.MuestraCartel("La huella del doctor no fue indentificada", lblMesjeErrorBuscar)
            Exit Sub
        End If

        LblEspecialidad.Visible = True
        cboEspecialidad.Visible = True
        Doctor.CargaCombo_Cn_Especialidades(cboEspecialidad)

        cboEspecialidad.Items.Add("-")
        cboEspecialidad.Text = "-"

        lblConforme.Text = Doctor.Dev_ApellidoYnombre & " Conf.:OK"




        mdl_popup_lector.Hide()
    End Sub
End Class